vec2 fixUV(in vec2 uv) {
    // 将从0-1902的像素uv值，转换为 0~1的uv值。
    return (2. * uv - iResolution.xy ) / min(iResolution.xx, iResolution.yy);
}


float sdfCircle(in vec2 p, float r) {
    return length(p) - r;
}


void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    // Normalized pixel coordinates (from 0 to 1)
    vec2 uv = fixUV(fragCoord);

    // Time varying pixel color
    float d = sdfCircle(uv, .7);
    vec3 col = sign(d) * vec3(1. , 1., 1.);

    // Output to screen
    fragColor = vec4(col,1.0);
}